sequenceDiagram
    participant User
    participant MCPClient
    participant MCPServer
    participant Tool

    User->>MCPClient: Send command/query
    MCPClient->>MCPServer: Connect to server
    MCPServer-->>MCPClient: Acknowledge connection
    MCPClient->>MCPServer: Request tool list
    MCPServer-->>MCPClient: Provide tool list
    MCPClient->>Tool: Call tool with arguments
    Tool-->>MCPClient: Return tool result
    MCPClient-->>User: Provide response

flowchart TD
    A[Start] --> B{Is config file present?}
    B -- Yes --> C[Load configuration]
    B -- No --> D[Raise ConfigurationError]
    C --> E{Is server enabled?}
    E -- Yes --> F[Connect to server]
    E -- No --> G[Skip server]
    F --> H[Add tools to available list]
    G --> H
    H --> I[End]
